有些程式碼會在輸入之前就先設定好變數值
然後直接執行程式
那如果想要自己輸入變數值,然後看看程式碼執行後的變化該怎麼辦呢?
很簡單,今天就是要來說到用鍵盤輸入資料、輸入變數
輸入資料的基本格式如下:
Scanner 物件名稱 = new Scanner(System.in);
資料型態 變數名稱a;
... ...
變數名稱 = 物件名稱.相對應型態的Scanner類別函數;
... ...
用簡單的範例說明大概是
Scanner a = new Scanner(System.in);
int a;
... ...
a = a.nextInt();
大概是這樣
因為我設定變數a的資料型態是int,所以相對應的Scanner類別函數是nextInt
其他資料型態的Scanner類別函數也是大同小異
都是next加開頭大寫的資料型態
但是需要注意的是,若資料型態是String字串,那Scanner類別函數就有兩種
分別是next()以及nextLine()
差別在於若使用next(),那Scanner物件遇到空白字元時,會回傳空白字元之前的資料
所以如果字串中帶有空白字元,必須使用nextLine()
因為nextLine()是直接回傳一整串輸入的字串
用一個簡單的範例說明
import java.util.*;
import static java.lang.System.*;
public class app1_1
{
public static void main(String[] args) {
Scanner scn=new Scanner(System.in);
float a,b;
System.out.print("請輸入身高 : ");
a = scn.nextFloat();
System.out.print("請輸入體重 : ");
b = scn.nextFloat();
System.out.print("BMI = " + b/(a*a));
}
}
執行結果如下:
這是一個簡易的BMI值運算的程式碼
因為BMI的運算要把身高的單位寫成公尺,所以會有小數點
然後關於體重也很少人的體重是整數
因此在寫程式碼的時候,都把a跟b設定成float
然後Scanner類別函數就不是nextInt(),而是nextFloat()
以上就是有關於Scanner簡易的範例
今天就先說到這邊囉